import $bus from './index';
import i18n from '@/lang/index';
import { errorTips, warningTips } from '@/utils/utils';
import type { AxiosError } from 'axios';
import config from '@/config';

// http错误
// @ts-ignore
$bus.on('httpErrorHandle', function (err: AxiosError) {
    const { message, status } = err;

    if (message.match(/timeout/)) {
        errorTips(i18n.global.t('error.requestTimeout'));
    } else if (status === 404) {
        errorTips(i18n.global.t('error.interfaceAddressError'));
    } else if (status === 500) {
        errorTips(i18n.global.t('error.serverError'));
    } else {
        errorTips(i18n.global.t('error.unknownError'));
    }
});

// code标识
$bus.on('codeErrorHandle', function (code) {
    if (code === 9999) {
        errorTips(i18n.global.t('error.unknownError'));
    } else if (code === 2) {
        errorTips(i18n.global.t('error.operationFailed'));
    } else if (code === 3) {
        errorTips(i18n.global.t('error.invalidParameter'));
    } else {
        errorTips(i18n.global.t('error.networkAnomaly'));
    }
});
